Skip to content

feat(x/tieredrewards): ADR-006 implementation - tiered lock rewards#1249

Open
JayT106 wants to merge 122 commits intocrypto-org-chain:feat/tokenomicfrom
JayT106:jt/pr1242-followup
Open

feat(x/tieredrewards): ADR-006 implementation - tiered lock rewards#1249
JayT106 wants to merge 122 commits intocrypto-org-chain:feat/tokenomicfrom
JayT106:jt/pr1242-followup

Conversation

@JayT106
Copy link
Copy Markdown
Contributor

@JayT106 JayT106 commented Mar 23, 2026

Summary

Implements the ADR-006 tiered lock rewards module.

current dependent PR crypto-org-chain/cosmos-sdk#1786

randy-cro and others added 30 commits March 12, 2026 17:38
…Tier, MsgDeleteTier and MsgUpdateTier to update tiers + add Tier and Position persistence and indexes
… and disallow transfer if delegator has an active incoming redelegation to the validator
…ockTier and MsgCommitDelegationToTier + some refactoring
…nds are transferred fresh from the tieredrewards module acc
… address only for IsDelegated as validation already accounts for correctness
JayT106 and others added 30 commits March 30, 2026 20:33
…ngs to unbondingDelegtionMappings and redelegtionMappings + add AfterUnbondingCompleted and AfterRedelegtionCompleted hooks
…shed, AfterSlashUnbondingRedelegation to AfterUnbondingRedelegationSlashed and AfterSlashRedelegation to AfterRedelegationSlashed
Persist LastBonusAccrual when hook-driven bonus settlement hits an insufficient pool so unbonding and slashing do not lose or reprice the final accrued window. Document the lifecycle-hook semantics in ADR-006 and add regression coverage.

Made-with: Cursor
Avoid rewriting unchanged secondary indexes on position updates and keep single-position reward refreshes in memory so tx flows persist once instead of write-read-write churn.

Made-with: Cursor
Settle base and bonus rewards in a single position pass and reuse the same in-memory positions during slash handling to avoid extra validator position reloads and writes.

Made-with: Cursor
Cover mixed insufficient bonus pool outcomes in the fused reward path and verify slash hooks preserve updated checkpoints without reloading validator positions.

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants